The present invention relates to text selection utilities featured in software programs such as word processors, page layout programs, graphics editing programs, and other software. Specifically, it relates to an improved text selection utility.
Many modern software packages include text manipulation tools that rely on a “text selection” feature in which a user to places a cursor within text and highlights or selects along the flow of the text. The selection often is continuous, but can only be done to the left or right of the insertion point. Once a new insertion point is selected (generally, when the cursor is moved), the previously-selected text becomes unselected. For example, when a selection of text is highlighted with a mouse, it can be manipulated as a selection. However, once the selection is completed, for example by clicking a mouse button, dragging to highlight text, and releasing the mouse button, it cannot be changed to include more or less text. As a further example, when the user later clicks a mouse button a second time, the selected text becomes unselected and can no longer be manipulated as a selection without being reselected by the user.
Standard text selection utilities allow for selection of text beginning from a starting insertion point. Text selection utilities may be provided by a software program, operating system, or other computer program to allow the user to indicate a portion of text that will be manipulated. The insertion point is selected by the user through means of positioning a cursor at a point within editable or selectable text. An insertion may be within or outside of an area of previously-selected text. The selection can then be expanded to the left or right of the insertion point, usually by clicking and dragging the cursor or pointer using an input device such as a mouse.
These text selection tools therefore often require users to make several attempts at selecting the precise text that is desired, and may prevent selection of desired text that spans multiple columns, pages, blocks, etc. A user may also be forced to select the same text repeatedly, when it is necessary to perform further operations on the selected text after the user edits non-selected text. There is therefore a need for a text-selection tool or utility that allows selection in any direction from the insertion point, and that results in a selection that does not become unselected if the insertion point or cursor is repositioned.